package fun.tan90.easy.binlog.plugin.rocketmq.model;

import fun.tan90.easy.binlog.plugin.common.model.OutputParam;
import lombok.Data;

/**
 * description TODO
 * company 铁人科技
 *
 * @author 陈浩杰
 * @date 2023/9/4 16:57
 */
@Data
public class RocketmqClientParams implements OutputParam {

    /**
     * 服务器地址列表
     */
    private String namesrvAddr;

    /**
     * 命名空间
     */
    private String namespace;

    /**
     * 生产者组名
     */
    private String producerGroup;

    /**
     * 发送消息的超时时间（毫秒）
     */
    private int sendMsgTimeout = 3000;

    /**
     * 用于指定在消息发送失败时是否尝试向另一个 Broker 发送消息。
     */
    private boolean retryAnotherBrokerWhenNotStoreOk;

    /**
     * 异步发送失败时的重试次数
     */
    private int retryTimesWhenSendAsyncFailed = 3;
}